package de.htw_saarland.webservices.plot;
import java.util.ArrayList;

import javax.activation.DataHandler;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

import de.htw_saarland.webservices.plot.data.DataRow;
import de.htw_saarland.webservices.plot.data.GraphSettings;

/**
 * Interface des Gnuplot-Service
 * @author Marc Lehmann
 *
 */
@WebService(name="Gnuplot", serviceName="GnuplotService")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT)
public interface GnuplotService {

	/**
	 * Plottet Datenwerte als PNG-Datei
	 * @param rows Zu plottende Datenwerte
	 * @return PNG Datei
	 * @throws GnuplotException
	 */
	@WebMethod
	public DataHandler plotDataToPNG(
			@WebParam(name="datarow") ArrayList<DataRow> rows, 
			@WebParam(name="settings") GraphSettings settings) 
	throws GnuplotException;
}
